On Debugging of Propositional Answer-Set Programs
نویسندگان
چکیده
Preface This thesis deals with debugging in answer-set programming (ASP), a logic-programming paradigm which became popular in the scientific community for its fully declarative semantics. A major reason why ASP has not found widespread popularity as problem-solving technique yet is a lack of suitable tools for program development. In particular, debugging in ASP is an important field which has not been very well studied so far. This work introduces two new techniques for finding errors in answer-set programs; one is based on ASP-meta-programming, the other relies on a tagging technique. Besides the description of the new approaches, an overview of existing publications concerning debugging of answer-set programs is given. The method using meta-programming constitutes the main contribution of this work. It is based on a transformation of an erroneous program, Π, into the language of a meta-program D M (Π). The encoding allows for extracting exhaustive information about the original program Π. Each answer set of the meta-program describes the behaviour of Π under an interpretation I which is not an answer set of Π. Conversely, for each interpretation I of the original program not belonging to the answer sets of Π, there is a corresponding answer set of the meta-program. The key strategy of our approach is to point out reasons why I is not an answer set of Π. This information can be found in the answer sets of the meta-program, where we distinguish between four kinds of reason: • the body of a rule is satisfied, although no element of the respective rule head is; • an atom a is contained in I, although a is not in the head of any applicable rule; • an integrity constraint is violated under I; or • the truth of an atom in I is caused by itself. The method allows to use answer-set programs in order to formulate complex debugging queries. In particular, the huge amount of information describing an erroneous situation can be reduced to parts relevant to the developer by using standard ASP-optimisation techniques. The second new debugging method is adopted from a tagging technique for transforming ordered logic programs into standard ones. By introducing dedicated atoms, called tags, the applicability of individual rules can be controlled and several properties of the erroneous program can be read off the answer sets of a transformation of the program. A significant feature of both new debugging strategies is their …
منابع مشابه
Unifying Justifications and Debugging for Answer-Set Programs
Recently, (Viegas Damásio et al. 2013) introduced a way to construct propositional formulae encoding provenance information for logic programs. From these formulae, justifications for a given interpretation are extracted but it does not explain why such interpretation is not an answer-set (debugging). Resorting to a meta-programming transformation for debugging logic programs, (Gebser et al. 20...
متن کاملCatching the Ouroboros: On debugging non-ground answer-set programs
An important issue towards a broader acceptance of answer-set programming (ASP) is the deployment of tools which support the programmer during the coding phase. In particular, methods for debugging an answer-set program are recognised as a crucial step in this regard. Initial work on debugging in ASP mainly focused on propositional programs, yet practical debuggers need to handle programs with ...
متن کاملStepwise Debugging of Description-Logic Programs
Description-logic programs (or DL-programs for short) combine logic programs under the answer-set semantics with description logics for semanticweb reasoning. In order for a wider acceptance of the formalism among semanticweb engineers, it is vital to have adequate tools supporting the program development process. In particular, methods for debugging DL-programs are needed. In this paper, we in...
متن کاملccT: A Correspondence-Checking Tool for Logic Programs Under the Answer-Set Semantics
In recent work, a general framework for specifying correspondences between logic programs under the answer-set semantics has been defined. The framework captures different notions of equivalence, including well-known ones like ordinary, strong, and uniform equivalence, as well as refined ones based on the projection of answer sets where not all parts of an answer set are of relevance. In this p...
متن کاملA Meta-Programming Technique for Debugging Answer-Set Programs
Answer-set programming (ASP) is widely recognised as a viable tool for declarative problem solving. However, there is currently a lack of tools for developing answer-set programs. In particular, providing tools for debugging answer-set programs has recently been identified as a crucial prerequisite for a wider acceptance of ASP. In this paper, we introduce a meta-programming technique for debug...
متن کامل